ℹ️ Inputs sample strictly on the Rising Clock Edge (↑).
FORBIDDEN / INVALID INPUT CONDITION (S = 1, R = 1)
Both NAND gates attempt to force outputs LOW (Q = Q̅ = 0), causing race conditions on clock release.
WHAT IS HAPPENING?
S=0 and R=0. The Flip-Flop is in HOLD condition and will retain its current state on the next clock edge.
| CLK | S | R | Q(next) | Operation |
|---|---|---|---|---|
| ↑ | 0 | 0 | Q(previous) | HOLD |
| ↑ | 0 | 1 | 0 | RESET |
| ↑ | 1 | 0 | 1 | SET |
| ↑ | 1 | 1 | INVALID | FORBIDDEN |
| Clock | Inputs | Operation | Transition | Result |
|---|---|---|---|---|
| #00 | S=0 R=0 | INITIAL | 0 → 0 | Q=0 |
ℹ️ Inputs sample strictly on the Rising Clock Edge (↑).
TOGGLE MODE ACTIVE (J = 1, K = 1)
When J = 1 and K = 1, each rising clock edge (↑) inverts stored output state Q (Qnext = NOT Qprev).
WHAT IS HAPPENING?
J=0 and K=0. The Flip-Flop is in HOLD condition and will retain its current state on the next clock edge.
| CLK | J | K | Q(previous) | Q(next) | Operation |
|---|---|---|---|---|---|
| ↑ | 0 | 0 | 0 | 0 | HOLD |
| ↑ | 0 | 0 | 1 | 1 | HOLD |
| ↑ | 0 | 1 | 0 | 0 | RESET |
| ↑ | 0 | 1 | 1 | 0 | RESET |
| ↑ | 1 | 0 | 0 | 1 | SET |
| ↑ | 1 | 0 | 1 | 1 | SET |
| ↑ | 1 | 1 | 0 | 1 | TOGGLE |
| ↑ | 1 | 1 | 1 | 0 | TOGGLE |
| Clock | Inputs | Operation | Transition | Result |
|---|---|---|---|---|
| #00 | J=0 K=0 | INITIAL | 0 → 0 | Q=0 |
ℹ️ Inputs sample strictly on the Rising Clock Edge (↑).
WHAT IS HAPPENING?
D=0. The Flip-Flop will store Logic 0 at the next rising clock edge.
| CLK | D | Q(previous) | Q(next) | Operation |
|---|---|---|---|---|
| ↑ | 0 | 0 | 0 | STORE 0 |
| ↑ | 0 | 1 | 0 | STORE 0 |
| ↑ | 1 | 0 | 1 | STORE 1 |
| ↑ | 1 | 1 | 1 | STORE 1 |
| Clock | Inputs | Operation | Transition | Result |
|---|---|---|---|---|
| #00 | D=0 | INITIAL | 0 → 0 | Q=0 |
ℹ️ Inputs sample strictly on the Rising Clock Edge (↑).
WHAT IS HAPPENING?
T=0. The Flip-Flop is in HOLD condition and will retain its current state on the next clock edge.
| CLK | T | Q(previous) | Q(next) | Operation |
|---|---|---|---|---|
| ↑ | 0 | 0 | 0 | HOLD |
| ↑ | 0 | 1 | 1 | HOLD |
| ↑ | 1 | 0 | 1 | TOGGLE |
| ↑ | 1 | 1 | 0 | TOGGLE |
| Clock | Inputs | Operation | Transition | Result |
|---|---|---|---|---|
| #00 | T=0 | INITIAL | 0 → 0 | Q=0 |
| Flip-Flop | Inputs | HOLD Condition | SET Condition | RESET Condition | TOGGLE Condition |
|---|---|---|---|---|---|
| SR | S, R | S=0, R=0 | S=1, R=0 | S=0, R=1 | INVALID (11) |
| JK | J, K | J=0, K=0 | J=1, K=0 | J=0, K=1 | J=1, K=1 |
| D | D | — | D=1 | D=0 | — |
| T | T | T=0 | — | — | T=1 |
🧠 Working Principle
Sequential logic circuits utilize feedback loops to store binary state information. A Flip-Flop updates its output state Q strictly on the Rising Edge (↑) of a clock pulse.
📋 Truth Table
Truth tables define state outputs (Q(next)) for all input combinations at active clock transitions. Inputs remain latched until the next clock cycle.
⚙️ Characteristic Equations
Algebraic representations of flip-flop state transitions:
- SR: Q(next) = S + R̅Q
- JK: Q(next) = J Q̅ + K̅ Q
- D: Q(next) = D
- T: Q(next) = T ⊕ Q
🚀 Applications
Primary building blocks for registers, memory cells, binary ripple counters, frequency dividers, and synchronous state controllers.